module dogre.scenenode;

import dogre.vector3;
import dogre.quaternion;
import dogre.movableobject;
import dogre.internals.utils;

extern(C)
{
	void* call_createChildSceneNode(void* ptr, void* translate, void* rotate);
	void call_attachObject(void* ptr, void* obj); //obj is MovableObject
}

class SceneNode
{
    mixin(Wrapper);
	~this(){ }
	
	SceneNode createChildSceneNode(Vector3 translate = Vector3.ZERO, Quaternion rotate = Quaternion.IDENTITY)
	{
		return new SceneNode(call_createChildSceneNode(p, translate.p, rotate.p));
	}
	
	void attachObject(MovableObject obj)
	{
		call_attachObject(p, obj.p);
	}
}
